home *** CD-ROM | disk | FTP | other *** search
/ Suzy B Software 2 / Suzy B Software CD-ROM 2 (1994).iso / bootup / boot_a2m / darklord / darklor3.txt < prev    next >
Encoding:
Text File  |  1995-05-02  |  37.0 KB  |  812 lines

  1. **********************************************************************
  2. *                                                                    *
  3. *                                                                    *
  4. *                           D A R K L O R D                          *
  5. *                                                                    *
  6. *                                                                    *
  7. *               A programmable, extensible screen saver              *
  8. *                  for the Atari series of computers                 *
  9. *                                                                    *
  10. *                                                                    *
  11. **********************************************************************
  12.  
  13.  
  14. Manual for version 3.10
  15.  
  16. 26th February 1994
  17.  
  18. 1. Introduction
  19.  
  20. One of the most popular programs available on PC-compatible machines
  21. is a screen saver entitled `After Dark'(tm). One of the reasons for
  22. its popularity is that its capability can be extended by means of
  23. `add-on' modules. These are separate pieces of code which can be
  24. loaded and executed by the main program, so greatly extending the
  25. range of graphic effects which can be achieved. DarkLord is intended
  26. to provide a similar program for the Atari series of machines.
  27.  
  28. Other screen savers are of course available for the Atari computers.
  29. The best are probably `Extend-O-Save' which forms part of the
  30. commercial package `Warp 9' and `Before Dawn', which is shareware. The
  31. disadvantage of Extend-O-Save is that its modular code is called from
  32. an interrupt, meaning that modules cannot use the GEM VDI system for
  33. graphics, and must manipulate the screen memory directly. This
  34. restricts the range of graphic effects which are readily available and
  35. makes the writing of modules potentially a complex task.
  36.  
  37. Before Dawn is an excellent screen saver, but essentially its actions
  38. consist of moving images about the screen. Although the range of
  39. images is so wide that markedly different effects can be shown, there
  40. is no facility to use other types of module.
  41.  
  42. DarkLord on the other hand can use the VDI for screen output, and its
  43. modules can be written in C, as well as in assembly. This should make
  44. the production of external modules much easier and provide a much
  45. wider range of different effects. Almost all the features of the VDI
  46. are available. A separate file, MODULES.TXT, is provided with this
  47. package which shows how to write modules for DarkLord; some example
  48. source code is also provided.
  49.  
  50. Important - copyright notice
  51.  
  52. This version of DarkLord is freeware, but future versions will be
  53. shareware. It may be distributed freely on bulletin boards, magazine
  54. cover disks, and PD libraries PROVIDED THAT:
  55.  
  56.     - all files listed below are included;
  57.     - the copyright of the author is acknowledged;
  58.     - no charge is made other than reasonable disk/administration
  59.     charges by PD libraries.
  60.  
  61. The copyright of DarkLord itself and all associated files is retained
  62. by the author, Dr. Steve Pedler. This software is not public domain.
  63.  
  64.  
  65. **********************************************************************
  66. **********************************************************************
  67.  
  68. Fast-track operation for impatient people
  69.  
  70. If you just want to load up and run, without wading through the
  71. manual, here's what you do:
  72.  
  73.     * copy DARKLOR3.ACC into the root directory of your boot disk
  74.     together with the resource file DARKLOR3.RSC, then reboot to load;
  75.  
  76.     * or, rename DARKLOR3.ACC to DARKLOR3.PRG and run as a normal
  77.     program;
  78.  
  79.     * open the DarkLord window, either from the desk accessory menu or
  80.     by clicking on `Open window' from the File menu (if running as a
  81.     program);
  82.  
  83.     * load the file BOUNCE.DKL which is provided as part of this
  84.     archive (click on the floppy disk icon to load the file)
  85.  
  86.     * click on `Activate' to see what it does (don't move the mouse
  87.     after clicking or you won't see anything);
  88.  
  89.     * press a key or move the mouse to regain control;
  90.  
  91.     * try loading the other DKL files supplied;
  92.  
  93.     * if you're still interested, read the rest of this manual.
  94.  
  95. **********************************************************************
  96. **********************************************************************
  97.  
  98.  
  99. 2. Installing DarkLord
  100.  
  101. 2.1 System requirements.
  102.  
  103. DarkLord will run on any ST model in any resolution. It has been
  104. tested on a TOS 1.0 520ST, a Mega STE with TOS 2.06, and an Atari
  105. Falcon with enhanced resolutions courtesy of Blow Up, all with no
  106. problems in colour or monochrome. It should work on the TT as only
  107. legitimate GEM and TOS calls have been used, but I have not been able
  108. to test this. It will also work on large screen monitors, and is
  109. MultiTOS compatible provided that memory protection is turned off. It
  110. is also compatible with Geneva.
  111.  
  112. There is a limit to the size of the screen: it will not function on a
  113. screen with a width of more than 1280 pixels if there are more than 8
  114. bit planes (i.e. more than 256 colours). It will run in Falcon True
  115. Colour mode but not if the screen width exceeds 640 pixels. It will of
  116. course work on smaller screens with more colours or larger screens
  117. with fewer colours. DarkLord is rather memory hungry: in addition to
  118. the 40K (approx) used for the program code, it reserves a further
  119. block of memory (32K) for loaded modules and about 6K for other memory
  120. buffers.
  121.  
  122. 2.2 Installation
  123.  
  124. The DarkLord package contains the following files:
  125.  
  126.     DARKLOR3.ACC             - the program itself
  127.     DARKLOR3.RSC             - its resource file
  128.     DARKLORD.TXT             - the file you're reading
  129.  
  130.     DCKIT\DCKIT.PRG          - the DarkLord Construction Kit
  131.     DCKIT\DCKIT.RSC          - resource file for the above program
  132.     DCKIT\DCKIT.TXT          - manual for the Construction Kit
  133.  
  134.     MODULES\*.DKL,           - a selection of control files
  135.     MODULES\*.DMO            - and external modules
  136.     MODULES\MODULES.TXT      - text file with the necessary
  137.                                information on writing your own modules
  138.  
  139.     SOURCE\GLOBES2.C         - two source files as examples of
  140.     SOURCE\SPOTS2.C          - DarkLord modules
  141.     SOURCE\MOD_HEAD.H        - C header file for use in writing  your
  142.                                own modules
  143.     SOURCE\MATHLINK.S        - file sometimes required when using the
  144.                                C maths libraries in modules
  145. There may also be a READ.ME text file containing last minute changes
  146. not recorded in this manual.
  147.  
  148. DarkLord can be (and usually is) run as a desk accessory, so copy
  149. DARKLOR3.ACC and its resource file DARKLOR3.RSC to your boot disk or
  150. hard drive boot partition. With this arrangement, DarkLord will
  151. function but won't do very much. It will work, but all it does is
  152. produce a blank screen. In order to do something worthwhile, it must
  153. load a DarkLord control file (which all have the extension .DKL) and
  154. optionally an external module (modules always have the extension
  155. .DMO). Section 5.1 below gives details of how to load these additional
  156. files.
  157.  
  158. You will have to reboot to load the accessory version of DarkLord.
  159. Alternatively, DarkLord can be run as a conventional program. To do
  160. this, rename DARKLOR3.ACC to DARKLOR3.PRG and run it as you would any
  161. other program. It is perfectly possible to have two copies of DarkLord
  162. running as program and accessory simultaneously.
  163.  
  164. You should note that the accessory version of DarkLord will run from
  165. Multidesk, but the Multidesk buffer size will need to be increased and
  166. you will have to enable the Multidesk `Timers' option (this refers to
  167. version 1.82 of Multidesk - later versions may differ in this
  168. respect).
  169.  
  170. 2.3 DarkLord control files
  171.  
  172. There are two different kinds of files which DarkLord uses to produce
  173. the effects it does. The first is the DarkLord control file, which
  174. always has the extension `.DKL'. This file contains settings such as
  175. the delay time before activation, screen colours, etc. Very
  176. importantly, this file also contains the name of any external module
  177. which DarkLord is to run. You can have as many .DKL files as you like
  178. and can load any other .DKL file at any time.
  179.  
  180. The second type of file is the DarkLord module file, with the
  181. extension `.DMO'. This is a special type of program which cannot be
  182. executed from the Desktop, but only from within DarkLord. To use such
  183. a file, there must be a corresponding .DKL file which includes the
  184. name of the module to be loaded - in other words, each module (.DMO
  185. file) must have an associated .DKL file to enable DarkLord to use it.
  186. If you try to load a .DMO file directly, DarkLord will tell you that
  187. this is not a .DKL file (which of course it isn't!).
  188.  
  189. Note that an external module is not obligatory if you don't want one.
  190. In most cases you will want a module, but it is not essential. A .DKL
  191. file does not have to contain the name of a module, nor does any .DKL
  192. file have to be loaded at all - without a .DKL file you will get a
  193. simple screen blanker and nothing more, but it will still work.
  194.  
  195.  
  196. *** Important note 1 ***
  197.  
  198. If DarkLord loads a .DKL file which in turn instructs it to load a
  199. module (.DMO) file, DarkLord will look for the module in the same
  200. directory as the .DKL file it has just loaded. If it can't find it
  201. there, it will display a message to that effect. This means that
  202. wherever your .DKL files are located, the .DMO module files must be in
  203. the same place. Different .DKL files can of course be located in
  204. different directories, as long as they are accompanied by the correct
  205. .DMO file.
  206.  
  207.  
  208. *** Important note 2 ***
  209.  
  210. When it first runs, whether as a program or desk accessory, DarkLord
  211. will look for a file named DARKLORD.DKL in the directory from which it
  212. was just loaded. This allows you to set DarkLord to automatically load
  213. and run a .DKL file of your choice. All you have to do is rename the
  214. .DKL file concerned to DARKLORD.DKL, and copy it to the same directory
  215. as DarkLord itself. Note that this also means that any associated
  216.  
  217. module file must be copied to the same place as the renamed .DKL file
  218. (but the module itself must not be renamed).
  219.  
  220.  
  221. All these different files may seem a little excessive - why not just
  222. allow DarkLord to load external modules directly? The reason is that
  223. in some modules the user can change various parameters so that the
  224. module is customised to the user's wishes. These parameters are
  225. included in the .DKL file, which allows the user to alter them in a
  226. standard way without the writer of the module having to worry about
  227. user interaction. A more detailed explanation is given in the manual
  228. for the DarkLord Construction Kit.
  229.  
  230. 3. The basic operation of DarkLord
  231.  
  232. 3.1 Operation
  233.  
  234. Once installed DarkLord does nothing during normal use of the
  235. computer. However if (for a set period of time) no key is pressed, the
  236. mouse is not moved or a button pressed, then it comes into operation.
  237. What happens then depends on the commands you have included in the
  238. .DKL file; these are detailed below.
  239.  
  240. The time required for inactivity before activation is normally 3
  241. minutes but this can be altered by modifying the .DKL file or by
  242. altering the delay time from the DarkLord Control Panel.
  243.  
  244. Once the program is activated pressing a key or mouse button, or
  245. moving the mouse, will return control to the main program.
  246.  
  247. 3.2 Displaying and removing the DarkLord Control Panel
  248.  
  249. 3.2.1 Opening the Control Panel
  250.  
  251. You can bring up the Control Panel in one of two ways. If you are
  252. running DarkLord as a desk accessory, clicking on the `DarkLord' entry
  253. in the first menu in the current menu bar will display the Control
  254. Panel inside a window. This is a conventional GEM window which can be
  255. moved and closed as with other windows. If you click on the window
  256. closer gadget the window will disappear.
  257.  
  258. Important note: if you close the DarkLord window, any changes you may
  259. have made in the dialog box which is currently displayed will be
  260. accepted by DarkLord - i.e. it will be as though you had clicked on
  261. the `OK' button, although the `OK' button will not close the window.
  262.  
  263. If DarkLord is being run as a program, click on the `Open window'
  264. entry in the File menu to display the Control Panel. If you click on
  265. the entry named `About DarkLord' in the first menu of the menu bar,
  266. then the Control Panel will switch to the `Information' display. As
  267. with the accessory version, clicking on the window closer gadget will
  268. remove the window, but it will not exit the program. (To exit the
  269. program, select the `Quit' entry from the File menu.) If you are
  270. running DarkLord as a program under MultiTOS or Geneva, its window
  271. does not have to be open; just load DarkLord and forget about it, and
  272. it will act just like a desk accessory on a single-tasking system,
  273. except that you can get access to its menu bar at any time.
  274.  
  275. 3.2.2 Closing the Control Panel
  276.  
  277. The control panel can be removed by:
  278.  
  279.     - clicking on the window closer gadget;
  280.  
  281.     - pressing the key combination Control-W;
  282.  
  283.     - if run as a program, selecting `Close window' from the File menu
  284.     in the menu bar.
  285.  
  286. 3.3 Using the Control Panel
  287.  
  288.  
  289. At the top of the panel is the DarkLord logo. Underneath the logo and
  290. to the left of the panel you will see a pushbutton switch with the
  291. word `Off' above it and `On' below it. When DarkLord is first run,
  292. this switch is in the down (`On') position. Clicking on the switch
  293. will move it into the up (`Off') position.
  294.  
  295. This switch shows whether or not DarkLord is enabled (i.e. will come
  296. into operation after the specified period of inactivity). If the
  297. switch is off, DarkLord will lie dormant and can only be activated by
  298. turning it on again by clicking on the on/off switch.
  299.  
  300. At the bottom of the window is a box which shows the name of a loaded
  301. external module, if there is one. If there is no loaded module, this
  302. box will be empty. This name is also displayed in every other dialog
  303. box DarkLord uses. With the exception of the main Control Panel, every
  304. dialog box has its main function displayed in a box at the top of the
  305. dialog.
  306.  
  307. To the right of the on/off switch is a box containing 6 icons.
  308. Clicking on any of these icons brings up another dialog box allowing
  309. you to change certain of DarkLord's parameters. These are discussed in
  310. more detail below.
  311.  
  312. Finally, there are two more buttons - `Activate' and `Reset'. Clicking
  313. on `Reset' will return all DarkLord's internal parameters to their
  314. basic state. Any loaded module will be removed and all other
  315. parameters are returned to the state they have when the program first
  316. runs. If you click on this button you will be asked to confirm that
  317. you really want to do this.
  318. Clicking on `Activate' sets DarkLord in motion without waiting for the
  319. delay time to elapse. It is important that if you click on this button
  320. you do not move the mouse afterwards as this will immediately cause
  321. DarkLord to return control to GEM (assuming that DarkLord is set to
  322. watch mouse movements - see below).
  323.  
  324. There may also be a third button, labelled `Message...'. This is only
  325. present if enabled by the .DKL file. Clicking on this button gives you
  326. access to the message input dialog box. Not all modules can display
  327. messages, so this button is only present when specifically enabled.
  328.  
  329. 3.4 The Control Panel icons
  330.  
  331. There are 6 such icons, all of which change the display inside the
  332. window to another dialog box. These icons are:
  333.  
  334.     The Disk icon (a small floppy disk). This brings up the file
  335.     selector allowing you to load another .DKL file. Remember that you
  336.     cannot load .DMO module files directly, but only indirectly
  337.     through a .DKL file.
  338.  
  339.     The Timer icon (an hourglass). The dialog box brought up by this
  340.     icon allows you to change the delay time which must elapse before
  341.     DarkLord activates.
  342.  
  343.     The Toolbox icon (a crossed hammer and wrench). This displays a
  344.     dialog allowing you to set certain miscellaneous options.
  345.  
  346.     The Information icon (a lower case letter `i'). This brings up
  347.     some general information regarding version number and author of
  348.     the program, and the title and author(s) of any loaded external
  349.     module.
  350.  
  351.     The Module Flags icon (a flag). This allows you to change the
  352.     state of up to three flags or switches which are passed to a
  353.     loaded external module by DarkLord. If there is no module loaded,
  354.     or if are no flags associated with the module, this icon is
  355.     disabled (greyed out).
  356.  
  357.     The Module Variables icon (two slider bars). This icon displays a
  358.     dialog box allowing you to change the numeric variables passed to
  359.     a loaded module. If there is no module loaded, or if there are no
  360.  
  361.     variables associated with the module, this icon is disabled
  362.     (greyed out).
  363.  
  364. Note that the appearance of each icon is a little different in ST low
  365. resolution or Falcon double-line screen modes due to space restraints.
  366.  
  367. The use of each icon is discussed in detail below in section 5. With
  368. the exception of the Disk icon, clicking on each icon will bring up
  369. another dialog box. In each case the dialog which is displayed as a
  370. result of clicking on an icon will have an `OK' button. Clicking on OK
  371. does not close the window, but will return you to the main Control
  372. Panel display.
  373.  
  374. Note: almost all the changes you make are accepted immediately by
  375. DarkLord - you don't have to click on OK to make the change register.
  376. For example, if you change the location of the hot spot, this takes
  377. effect immediately without having to return to the main control panel.
  378. The only exception to this is the Timer dialog, in which the delay
  379. time and colour rotation speed are only changed when you press Return
  380. (or click on the OK button).
  381.  
  382. 3.5 Activating DarkLord
  383.  
  384. DarkLord can be activated in one of several ways:
  385.  
  386.     - by waiting for the delay time to elapse;
  387.     - by clicking on the `Activate' button in the Control Panel;
  388.     - by moving the mouse into the `hot spot' (see section 5.3.4
  389.     below);
  390.     - if run as a program, by selecting the `Activate' option in the
  391.     `Options' menu.
  392.  
  393. 4. The .DKL file.
  394.  
  395. These files are the keys to making DarkLord behave as you require.
  396. Earlier versions of DarkLord used simple ASCII files for this purpose,
  397. but in this version the file is created with a separate program, the
  398. DarkLord Construction Kit. Details of how to use the kit are contained
  399. in a separate manual, but below is a complete list of all the
  400. parameters you can control with such a file:
  401.  
  402. 4.1 General options:
  403.  
  404.     - the time to wait without activity before DarkLord activates;
  405.     - whether or not DarkLord is to rotate screen colours (note: this
  406.       only applies if no external module is loaded);
  407.     - the speed of colour rotation, if enabled;
  408.     - enable the module debug facility;
  409.     - enable the user to enter a message for a module to display on
  410.       screen.
  411.  
  412. 4.2 The colour palette:
  413.  
  414.     - up to 256 colours.
  415.  
  416. 4.3 Module options:
  417.  
  418.     - the name of an external module to load and run;
  419.     - up to 3 numeric variables associated with the module;
  420.     - up to 3 flags (or switches) each with up to 6 options which are
  421.       associated with the module;
  422.     - the module's title and author(s).
  423.  
  424. These parameters are discussed in detail in the manual for the
  425. DarkLord Construction Kit which is included with this package.
  426.  
  427. The .DKL file should be thought of as a general control file for
  428. DarkLord. It does not contain any program code, but does include
  429. parameters which enable you to alter the behaviour of DarkLord.
  430.  
  431. 5. Using the Control Panel icons
  432.  
  433. 5.1 The Disk icon
  434.  
  435. Clicking on this icon will display the file selector, with which you
  436. can choose another control file (with the extension .DKL) to load.
  437. DarkLord will initially show the directory from which it itself was
  438. loaded, but if you change the directory DarkLord will remember and
  439. show the new directory the next time you use this icon.
  440.  
  441. If DarkLord cannot open the file you wish to load, then any existing
  442. parameters or loaded module will be retained. If the file you open is
  443. not a .DKL file, DarkLord will inform you of this, but your existing
  444. module will again be left intact.
  445.  
  446. However, if DarkLord fails to load the external module specified in
  447. the .DKL file, it will reset all its internal parameters to its
  448. default state. This is because a failure to load a module could leave
  449. the system in a potentially unstable state, so this should prevent a
  450. load failure from causing a system crash. DarkLord will also reset
  451. itself if the module is successfully loaded but cannot run in the
  452. current screen resolution.
  453.  
  454.     ** Notes **
  455.  
  456.     When DarkLord loads a .DKL file which in turn instructs it to load
  457.     a module, it loads the module immediately after the .DKL file has
  458.     loaded.
  459.  
  460.     Some modules may not function in the screen resolution you are
  461.     currently in. If this is the case, DarkLord will display a message
  462.     after the module has loaded, and the module will not activate
  463.     while you remain in that resolution. In addition, DarkLord will
  464.     reset all its internal parameters to their default state.
  465.  
  466.     Some modules may not work in Falcon True Colour mode, in whatever
  467.     resolution. Again, a message will be displayed if this is the
  468.     case.
  469.  
  470.     When it is first run, DarkLord will look for a default .DKL file
  471.     called DARKLORD.DKL in the same directory from which DarkLord
  472.     itself has been loaded. This default file is entirely optional and
  473.     need not be present if you don't want it. Any .DKL file can be
  474.     used, just rename it to DARKLORD.DKL and copy it into DarkLord's
  475.     directory. Do not rename the associated module, if there is one.
  476.  
  477.     Changing the screen resolution forces GEM to reload all desk
  478.     accessories. This means that the existing .DKL file, and any
  479.     loaded module, are removed from memory. When the computer enters
  480.     the new screen resolution you will find that DarkLord is therefore
  481.     returned to its default state.
  482.  
  483. 5.2 The Timer icon
  484.  
  485. There are two boxes on the dialog which is displayed when you click on
  486. this icon. At the top is a box allowing you to alter the time which
  487. must elapse without activity (see the section on the `Toolbox' for
  488. more information on monitoring activity) before screen saving cuts in.
  489. This is normally set to 3 minutes, but can range from 1 to 99 minutes.
  490. You can alter the time by editing the value in the usual way.
  491.  
  492. What happens if you enter a time of zero minutes? If you do this when
  493. DarkLord is running as a desk accessory, it will ignore this value and
  494. use the default 3 minute delay instead. When running as a program, a
  495. zero delay is accepted as valid, so that DarkLord will carry out its
  496. screen saving activity as soon as it is run and has initialised.
  497.  
  498. Below the delay time is a box marked `Clear screen on activation'. If
  499. this box is selected, DarkLord will clear the screen to colour 0 in
  500. the loaded palette (if any) or to colour 0 in the current palette
  501. (normally white) if a palette wasn't loaded as part of a .DKL file. If
  502. your module requires a black background therefore, you must set colour
  503. 0 to black from the Construction Kit, and save at least two colours
  504. with the .DKL file. If you don't want the screen to be cleared, click
  505. on this box to deselect it. Some external modules require the screen
  506. to be cleared, while for others the opposite is true.
  507.  
  508. The lower box in this dialog concerns screen colour rotation. This
  509. function is applicable ONLY IF there is no loaded external module. If
  510. a module is loaded, it is assumed that it will take care of any
  511. required colour cycling.
  512.  
  513. If there is no loaded module, and colour rotation is enabled, DarkLord
  514. will change the screen colours by rotating the colours in the palette.
  515. For example, if you have a 16-colour palette, then when colour
  516. rotation occurs the current foreground colour (colour 1) will become
  517. the background colour (colour 0) while the current background colour
  518. becomes colour 15, the last one in the palette. All the other colours
  519. in the palette will also be moved by one position. After 16 such
  520. rotations, the palette will of course be as it was before rotation
  521. started.
  522.  
  523. As with the delay time, you can change the frequency of colour
  524. rotation. By default the colours will be rotated every 30 seconds, but
  525. this can range from 10-999 seconds. If you enter a time of zero
  526. seconds, DarkLord will always change this to 10 seconds. Colour
  527. rotation can be switched off by deselecting the box marked `Rotate
  528. colour palette'.
  529.  
  530. 5.3 The Toolbox icon
  531.  
  532. 5.3.1 Watching for activity of the mouse and/or keyboard
  533.  
  534. In the upper part of this dialog is a box entitled `Watch for activity
  535. of:'. DarkLord will activate its screen-saving function if no activity
  536. of the mouse and/or keyboard has occurred within the specified time
  537. period. (Mouse activity includes mouse movements and button presses.)
  538. In addition, once activated DarkLord will watch for activity and
  539. return control to GEM if any activity occurs. If keyboard monitoring
  540. is enabled, DarkLord will respond to presses of the Shift, Alternate,
  541. or Control keys on their own (i.e. without the need to use them in
  542. conjunction with some other key), and the cursor keys, as well as the
  543. usual alphanumeric, function and special keys.
  544.  
  545. By default DarkLord watches both the keyboard and the mouse, but you
  546. can opt to only watch the mouse or only watch the keyboard. You cannot
  547. opt to disable both mouse and keyboard monitoring, as once DarkLord
  548. had activated you would have no way of regaining control of the
  549. system! It is best to leave DarkLord watching both mouse and keyboard
  550. unless there is a good reason to switch one of these off. One such
  551. reason would be if you are using a program which has a `dongle'
  552. plugged into the mouse or joystick port. These dongles sometimes
  553. generate a constant stream of mouse or keyboard interrupts which would
  554. mean that DarkLord would never come into operation, since it would
  555. detect apparent constant activity of the mouse or keyboard. If this
  556. happens, try turning off mouse or keyboard monitoring.
  557.  
  558. Technical note: because of the way the mouse/keyboard interrupt system
  559. works on the Atari machines, turning off mouse monitoring will force
  560. DarkLord to use a different, less efficient way of monitoring the
  561. keyboard, so that it will no longer respond to presses of the Shift,
  562. Alternate, or Control keys on their own.
  563.  
  564. To alter mouse or keyboard monitoring, click on the box which by
  565. default reads `Keyboard & mouse'. This will bring up a small popup
  566. menu which gives you the three options of watching the mouse only, the
  567. keyboard only, or both mouse and keyboard.
  568.  
  569. 5.3.2 Monitoring the modem or midi ports
  570.  
  571. DarkLord can also monitor the modem or midi ports for input/output
  572. activity. This is provided so that DarkLord will not cut in while
  573. input or output through these ports is occurring, if you so wish. By
  574. default DarkLord does not monitor these ports but you can choose to
  575. monitor either or both by clicking on the respective buttons.
  576.  
  577. 5.3.3 Monitoring disk activity
  578.  
  579. There is no simple, reliable method of watching for disk input/output
  580. activity on the Atari machines. DarkLord will do the best it can and
  581. look for disk activity at regular intervals. It will not activate if
  582. the box labelled `Disk' is selected and activity is detected.
  583.  
  584. 5.3.4 The activation `hot spot'
  585.  
  586. DarkLord provides the facility for the user to activate it by moving
  587. the mouse into a corner of the screen. At the lower left of the
  588. toolbox dialog is a box with four smaller boxes, one at each corner.
  589. Click on one of these to enable the hot spot. When you move the mouse
  590. into the chosen corner DarkLord will activate (this may take a second
  591. or two to occur). The hot spot is one system character font cell in
  592. size (in ST high resolution this is 8*16 pixels).
  593.  
  594. If you don't want a hot spot, you can turn it off by clicking on the
  595. button labelled `None'.
  596.  
  597. 5.3.5 The debug facility
  598.  
  599. If you are writing your own external modules DarkLord provides a
  600. facility to stop execution just before your module is run, in order to
  601. aid in debugging. To enable this facility, you must first enable
  602. debugging using the DarkLord Construction Kit. If you do this, a
  603. button will appear in the Toolbox which reads `Debug'. If in turn this
  604. button is highlighted, then DarkLord will stop with an `illegal'
  605. exception just before it executes a loaded module. If you are running
  606. DarkLord from a debugger such as HiSoft's Mon or the ST Club's X-
  607. Debug, this exception will return control to the debugger (see the
  608. manual for the Construction Kit for more detail).
  609.  
  610. This button should never appear in normal use, since it is provided
  611. for the use of module programmers. If it was present all the time, a
  612. user could select it without being aware of its potential, which would
  613. cause a system crash when DarkLord tried to execute a module. For this
  614. reason the Debug button is only provided if specifically requested via
  615. the Construction Kit.
  616.  
  617. 5.3.6 The save facility
  618.  
  619. This button, if it is enabled, allows you to save certain parameters
  620. to the .DKL file currently loaded. If there is no .DKL file currently
  621. loaded, the Save button is not available.
  622.  
  623. The following parameters are saved:
  624.  
  625.  - delay time;
  626.  - screen clear flag;
  627.  - colour rotate time;
  628.  - colour rotate flag;
  629.  - activities to watch (mouse, keyboard, modem, etc);
  630.  - hot spot position;
  631.  - current flag settings;
  632.  - current variable settings.
  633.  
  634. Note that the save function takes place immediately you click on this
  635. button, there is no request for confirmation.
  636.  
  637. 5.4 The Information icon
  638.  
  639. Selecting this icon will bring up a dialog box showing the version
  640. number of DarkLord and some copyright information. If there is a
  641. loaded external module, its title and the name(s) of its author(s)
  642. will be displayed in a separate box.
  643.  
  644. 5.5 The Flag icon
  645.  
  646. With some external modules, the user has the ability to change certain
  647. parameters of the module from the DarkLord Control Panel. These
  648. parameters consist of three numeric variables, and three switches (or
  649. flags, hence the name of this box). There may be from 1 to 3 flags
  650. displayed in this box; if the module has no user-changeable flags,
  651. this icon will be disabled.
  652.  
  653. Each flag consists of a switch which can have up to 6 different
  654. states; only one state can be operative for each flag at any one time.
  655. Clicking on a flag box will bring up a popup menu which may have up to
  656. 6 entries, depending on how many states are used by that flag. The
  657. currently selected state will be ticked. You can select any entry with
  658. the mouse, or click somewhere away from the menu to retain the
  659. existing state.
  660.  
  661. As an example, load the file MESSAGE.DKL. This will load an external
  662. module which displays a user's message on the screen. If you click on
  663. the flag icon, you will see that there is one flag, which lets you
  664. choose the effect to be applied to the text of the message. There are
  665. 6 possible options, Normal, Thickened, Light, Italic, Underlined and
  666. Outlined. You can choose any one of these effects by clicking on the
  667. appropriate menu entry.
  668.  
  669. Warning: if the programmer of a module has used flags or variables in
  670. the module, you MUST NOT change the flags or their values by using the
  671. DarkLord Construction Kit. If you do the module will not work
  672. correctly. (It *probably* won't crash, but will not work as expected.)
  673.  
  674. 5.6 The Variables icon
  675.  
  676. As with the flags icon, this brings up another dialog box which allows
  677. you to change the value of any numeric variables associated with an
  678. external module. Each variable is displayed as a slider, with a small
  679. box to the right showing the current value of the variable. To change
  680. the value, click and hold down the left mouse button while the mouse
  681. is over the slider, and drag it to the left or right. Dragging it all
  682. the way to the left will reduce it to its minimum possible value (set
  683. by the programmer) while dragging it over to the extreme right will
  684. set its maximum possible value.
  685.  
  686. The file MESSAGE.DKL has one variable, which allows you to alter the
  687. size of the text to be displayed on screen. This ranges from 10 to 72
  688. pixels high (although not all possible values are allowed by GEM - if
  689. you choose a value which is not recognised, GEM will set the nearest
  690. smaller available value). Do not attempt to change these values using
  691. the Construction Kit!
  692.  
  693. 5.7 The message input facility
  694.  
  695. One use of an external module is to display a message on the screen
  696. when the screen saver cuts in (for example, `Out to lunch' or `See you
  697. in the pub at 5.30') or something similar. A module has to be
  698. specifically written to display such messages, so the ability to input
  699. a message is not normally present, and should only be enabled (using
  700. the Construction Kit) if a module can handle such messages.
  701.  
  702. If this facility is enabled, a button entitled `Message...' will be
  703. displayed in the main Control Panel. Clicking on this button will
  704. display another dialog box with three lines of editable text. You can
  705. type in any message for the module to display in these lines, and then
  706. press Return (or click on OK) to return to the main Control Panel.
  707.  
  708. This dialog also allows you to enter the name of a GDOS font which the
  709. module will use to display your message. Not all message-displaying
  710. modules can make use of this - see the text file for the module. A
  711. module named SHOWTEXT.DMO is supplied with this package, which makes
  712. use of SpeedoGDOS and its fonts for this purpose.
  713.  
  714. 6. Technical notes
  715.  
  716. 6.1 Compatibility
  717.  
  718. Since DarkLord is a desk accessory, it will only work with those
  719. programs,fortunately the majority, which use the AES events system.
  720. These include all those which display a true GEM menu bar, and some of
  721. those programs which are essentially one large dialog box. TOS-type
  722. programs effectively disable accessories while they run. DarkLord has
  723. been run with the following programs without problems:
  724.  
  725. Neodesk       1st Word Plus       Fontkit Plus 3      Lattice C 5.6
  726. Devpac 3      K-RSC               Superbase Pro       Diamond Back
  727. K-Spread 4    Calligrapher        ORCS resource editor
  728. Timeworks DTP Tempus 2            Knife ST            Touch Up
  729. Hyperdraw     K-Graph 3           Arcshell 2.6a       Fastcopy Pro
  730. Connect       CixComm             Cixread 3 (GEM version)
  731. Everest       Kandinsky           Migraph OCR         True Paint
  732.  
  733. (and others!)
  734.  
  735. It does not work with (but does not crash):
  736.  
  737. Uniterm (but does work on the `Help' screen, when a GEM menu is used);
  738. Protext (unless you switch to the Desk Accessory menu);
  739. Cixread 3 (non-GEM version)
  740. Degas Elite (works on the main menu screen, does not work on the
  741. drawing screens)
  742.  
  743. It coexists with a variety of desk accessories and auto-folder
  744. programs, of which the only ones tested so far are:
  745.  
  746. Accessories:
  747.  
  748. Multidesk     G Plus accessory    NeoControl accessory
  749. Image Copy 2  Rat Trap            X-Control v1.31
  750.  
  751. Auto folder:
  752.  
  753. G Plus (auto folder program)      Hramdsk (HiSoft ram disk)
  754. UIS III       NVDI                Foldrxxx.prg
  755. Fast print    SpeedoGDOS          Cachexxx.prg
  756. MiNT/MultiTOS (without memory protection)
  757. Geneva multitasking operating system
  758.  
  759. For all programs, when dialog boxes are shown on screen, DarkLord may
  760. or may not activate when expected - this depends on how the dialog box
  761. is programmed. If the dialog box appears in a GEM window, DarkLord
  762. will always work as expected. With `dialogware' programs, DarkLord may
  763. cut in but GEM may not restore the screen properly when the module
  764. exits.
  765.  
  766. 6.2 Brief technical details
  767.  
  768. DarkLord produces its effects in two ways. It installs a vertical
  769. blank interrupt (VBI) routine which takes care of the colour cycling
  770. and delay timing. All other effects are produced by external modules.
  771. The program hijacks several system vectors for its own use, these are:
  772.  
  773.     - the ikbdsys, mousevec, and midivec interrupt vectors to sense
  774.     keypresses, mouse movements/button clicks, and MIDI activity;
  775.  
  776.     - the RS232 character receive interrupt for both the MFP chip used
  777.     on the ST and the Falcon's SCC chip
  778.  
  779.     - one vertical blank interrupt slot;
  780.  
  781.     - the BIOS (trap #13) vector;
  782.  
  783.     - the GEMDOS (trap #1) vector.
  784.  
  785. DarkLord conforms to the XBRA protocol for accessories which alter
  786. system vectors and it obeys the `11 commandments' suggested by
  787. Codehead software for altering vectors. All patched vectors call the
  788. original routine on exit. It restores the original vectors on a change
  789. in resolution and therefore should not crash in these circumstances.
  790. This has been tested extensively on a Falcon without problems.
  791.  
  792.  
  793. All desk accessories using the GEM event system are liable to slow the
  794. system down a little. Tests using GEMBench on a Falcon in 16 colour
  795. mode, 640*480 screen, shows that DarkLord slows the system down by
  796. about 1%, an acceptable trade off I think.
  797.  
  798. This version of DarkLord is bug-free as far as I have been able to
  799. test it, but it may have problems or incompatibilities of which I am
  800. unaware. I would be pleased to hear of any problems and bugs
  801. (hopefully there won't be too many of those!) and particularly ideas
  802. for future developments.
  803.  
  804. Finally, I would like to thank beta-testers, notably Ofir Gal, David
  805. Billington, and Joe Connor for their comments and input.
  806.  
  807. I can be contacted by email on the CIX conference system
  808. (spedler@cix.compulink.co.uk) or write to:
  809.  
  810. Steve Pedler, 12 Rudby Close, Gosforth, Newcastle upon Tyne, NE3 5JF,
  811. England
  812.